import webSocket from '@ohos.net.webSocket';

// 全局变量
const defaultIpAddress = "ws://9uwxy9.natappfree.cc/ws-server/1"; // 定义ws连接地址
let ws = webSocket.createWebSocket(); // 定义ws对象

export default {
    data: {
        message: '', // 接收页面输入的消息内容
        reMessage: '' // 接收服务端发送过来的消息内容
    },
    onInit() {
        this.initWebSocket(); // 页面加载时，初始化websocket
    },
    // 接收页面输入消息
    messageChange(e) {
        this.message = e.value
    },
    // 初始化websocket的相关代码
    initWebSocket() {
        ws.connect(defaultIpAddress, (err, value) => {
            if (!err) {
                console.log("connect success");
            } else {
                console.log("connect fail, err:" + JSON.stringify(err));
            }
        });
        ws.on('open', (err, value) => {
            console.log("on open, status:" + value['status'] + ", message:" + value['message']);
        });
        ws.on('message', (err, value) => {
            console.log("on message, message:" + value);
            // 当收到服务器的`bye`消息时（此消息字段仅为示意，具体字段需要与服务器协商），主动断开连接
            if (value === 'bye') {
                ws.close((err, value) => {
                    if (!err) {
                        console.log("close success");
                    } else {
                        console.log("close fail, err is " + JSON.stringify(err));
                    }
                });
            } else {
                this.reMessage = value;
            }
        });
        ws.on('close', (err, value) => {
            console.log("on close, code is " + value.code + ", reason is " + value.reason);
        });
        ws.on('error', (err) => {
            console.log("on error, error:" + JSON.stringify(err));
        });
    },
    // 发送消息
    sendMessage() {
        ws.send(this.message, (err, value) => {
            if (!err) {
                console.log("send success");
            } else {
                console.log("send fail, err:" + JSON.stringify(err))
            }
        });
    }
}
